package com.zxmclasslibrarie.view.activity.application;

import android.app.Activity;
import android.app.ActivityManager;
import android.content.ComponentName;
import android.content.res.Configuration;
import android.os.Bundle;
import android.view.Display;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.Window;

public class ActivityAbout extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);// 允许用户自定义Title
        setContentView(R.layout.main);
    }

    /**
     * 自定义Title
     * 
     * @param viewId
     *            自定义Title的XML
     */
    public void setTitil(int viewId) {
        this.getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, viewId);
    }

    /**
     * 使用了LayoutInflater来获得XML的对象
     * 
     * @param resource
     *            XML 的LayoutId
     * @return View XML的对象View
     */
    public View getXmlLayoutView(int resource) {
        View view = LayoutInflater.from(this).inflate(resource, null);
        return view;
    }

    /**
     * Android通过终止、重启应用程序来重新加载资源文件，以做到对语言、区域和硬件实时变化的支持。
     * 
     * 它的默认的行为不是总是方便和令人满意的，尤其当配置变化（如屏幕方向和键盘可视）、用户旋转设备或划出键盘等。
     * 你可以通过监测和响应定制你的应用程序来对这些变化作出响应。 接下来的列表给出了你可以指定的配置变化的事件值：
     * 
     * orientation 屏幕在纵向和横向间旋转。 keyboardHidden 键盘显示或隐藏。 fontScale用户变更了首选的字体大小。
     * locale 用户选择了不同的语言设定。 keyboard 键盘类型变更，例如手机从12键盘切换到全键盘 。
     * touchscreen或navigation 键盘或导航方式变化，一般不会发生这样的事件。
     */
    @Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
        if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
            // 这里写改编后执行的内容
        }
    }

    /**
     * 创建Menu，通过menu/menu.xml
     */
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.menu, menu);
        return super.onCreateOptionsMenu(menu);
    }

    /**
     * Menu的监听
     */
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        return false;
    }

    /**
     * 动态Menu
     */
    public boolean onPrepareOptionsMenu(Menu menu) {
        menu.clear();
        // if(isFavoutite){
        // menu.add(0, NFav_ID, 0,
        // R.string.menu_not_favourite).setIcon(R.drawable.ic_tab_selected_contacts);
        // }else{
        // menu.add(0, Fav_ID, 0,
        // R.string.menu_favourite).setIcon(R.drawable.ic_tab_selected_contacts);
        // }
        // menu.add(0, Del_ID, 0,
        // R.string.menu_delete).setIcon(R.drawable.ic_tab_selected_contacts);
        return super.onPrepareOptionsMenu(menu);
    }

    /**
     * 获得当前Activity的ComponentName。这个类可得到类名，包名。
     */
    public ComponentName getComponentName() {
        ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
        ComponentName cn = am.getRunningTasks(1).get(0).topActivity;
        return cn;
    }

    /**
     * 得到屏幕的screen dimensions
     */

    public void getDimensions() {
        Display display = getWindowManager().getDefaultDisplay();
        @SuppressWarnings("unused")
        int width = display.getWidth();
        @SuppressWarnings("unused")
        int height = display.getHeight();
    }

    public void setAlpha(View view, int i) {
        view.getBackground().setAlpha(i);
    }

    public void setViewStub() {
        View importPanel = ((ViewStub) findViewById(R.id.stub_import))
                .inflate();
        // <ViewStub
        // android:id="@+id/stub_import"
        // android:inflatedId="@+id/panel_import"
        // android:layout="@layout/progress_overlay"
        // android:layout_width="fill_parent"
        // android:layout_height="wrap_content"
        // android:layout_gravity="bottom" />
    }

}